Главная <-- Обзор платформы <-- Толковый словарь 1С:Предприятия 8 <-- В <-- Внешнее соединение (External Connection)
Внешнее соединение (External Connection)
Внешнее соединение - это один из механизмов интеграции с другими системами. Основная задача, решаемая с помощью внешнего соединения – обеспечение надежного и быстрого программного доступа к данным 1С:Предприятия 8 из внешних приложений, в том числе из приложений, использующих web-расширение.
Отличия от Automation-сервера
В общем и целом работа через внешнее соединение подобна работе в режиме Automation-сервера. Основные отличия заключаются в следующем:
- В случае Automation-сервера запускается полноценное приложение 1С:Предприятие 8, а в случае внешнего соединения запускается относительно небольшой внутрипроцессный COM-сервер.
- При работе через внешнее соединение недоступны функциональные возможности так или иначе связанные с организацией пользовательского интерфейса;
- При работе внешнего соединения не используется модуль приложения. Его роль при работе с внешним соединением играет модуль внешнего соединения.
Преимущества
При использовании внешнего соединения имеются следующие преимущества по сравнению с использованием Automation-сервера:
- более быстрая установка соединения, так как не требуется создания отдельного процесса операционной системы, а все действия производятся в рамках вызывающего процесса;
- более быстрое обращение к свойствам и методам объектов 1С:Предприятия 8, так как для организации обращения не требуется организации межпроцессной коммуникации;
- меньший расход ресурсов операционной системы.
Пример
Для организации доступа к данным системы 1С:Предприятие 8 через внешнее соединение, выполняется следующая последовательность действий:
- создается менеджер COM-соединений, с помощью которого производится установка соединения;
- через полученный объект внешнего соединения производится обращение к допустимым методам, свойствам и объектам базы данных, с которой установлено соединение.
В качестве примера можно привести обращение к информационной базе 1С:Предприятия 8 через внешнее соединение из программы на языке MS Visual Basic.
Информационная база находится в каталоге c:\InfoBases\Trade. В программе 1С:Предприятие 8 создается объект типа СправочникМенеджер.Товары и создается новая группа элементов с названием ***** Экспорт из Excel ******. Во вновь созданную группу каталога записываются данные из таблицы MS Excel:
Sub Excel_to_trade()
Dim cntr As Object
Dim trade As Object
Dim Элемент As ObjectSet cntr = CreateObject("V82.COMConnector") 'Создать менеджер COM-соединений
Set trade = cntr.Connect("File=""c:\InfoBases\Trade""; Usr=""Director"";") 'Получить внешнее соединение
Set СправочникТоваров = trade.Справочники.Товары
Set ГруппаТоваров = СправочникТоваров.СоздатьГруппу()ГруппаТоваров.Наименование = "***** Экспорт из Excel ******"
ГруппаТоваров.ЗаписатьN = 100 'Количество строк в документе
For Count = 1 To NSet Элемент = СправочникТоваров.СоздатьЭлемент()
Элемент.Наименование = Application.Cells(Count, 2).Value
Элемент.Розн_Цена = Application.Cells(Count, 3).Value
Элемент.Мел_Опт_Цена = Application.Cells(Count, 4).Value
Элемент.Опт_Цена = Application.Cells(Count, 5).Value
Элемент.Родитель = ГруппаТоваров.СсылкаЭлемент.Записать
Next Count
End Sub
Контекст исполнения
Обязанности модуля приложения при работе через внешнее соединение выполняет модуль внешнего соединения. Данный модуль может иметь процедуры-обработчики событий, в которых могут быть размещены действия, выполняемые при инициализации и завершении соединения, соответственно.
Процедуры, функции и глобальные переменные, определенные в модуле внешнего соединения с ключевым словом Экспорт становятся, как и в случае модуля приложения, частью глобального контекста.
Внешнее соединение с информационной базой 1С:Предприятие 8 предоставляет полный доступ к глобальному контексту и в качестве своих свойств может иметь:
- системные константы;
- значения заданных в конфигураторе объектов, доступ к которым осуществляется с помощью менеджеров (например, константы, перечисления, справочники, документы, журналы документов, отчеты, обработки, планы видов характеристик, планы счетов, планы видов расчета, регистры);
- переменные, объявленные в модуле внешнего соединения с ключевым словом Экспорт.
В качестве своих методов внешнее соединение может иметь:
- системные процедуры и функции;
- процедуры и функции модуля внешнего соединения и общих модулей, объявленные с ключевым словом Экспорт;
- дополнительный метод NewObject.
Пул соединений
Открытые внешние соединения могут быть сохранены в пуле для их повторного использования, что позволяет экономить ресурсы и ускорять работу пользователей, которые ранее уже подключались к данной информационной базе.
Варианты использования
С помощью внешнего соединения можно, например, организовать веб-доступ к базе данных 1С:Предприятия 8:
Также внешнее соединение позволяет организовать обмен XML-документами системы 1С:Предприятие 8 с внешним приложением:
Полезные ссылки:
- Automation Client/Server,
- Механизмы интеграции с другими системами,
- Википедия - COM.